<?php namespace Admin\Controller;
use Common\Model\Arc;

class ArticleController extends CommonController{
    private $model;
    public function __auto(){
        $this->model=new Arc();
    }

//    显示文章列表
    public function index(){
//        $cateModel=new \Common\Model\Cate();
//        1使用分页
        $page=Page::row(3)->make(Db::table('article')->where("is_recycle=0")->count());
//        分配分页数据
        View::with('page',$page);
//        2获取数据
        $artData=Db::table('article a')->join('category c','a.category_cid','=','c.cid')
            ->where('is_recycle',0)->orderBy('sendtime','DESC')->field('aid,title,cname,sendtime,author')
            ->limit(Page::limit())->get();
        View::with('artData',$artData);

        if(!$artData){
            View::error('当前没有文章，请先添加文章','addarticle');
        }
//        p($artData);
//        $artData=$this->model->where('is_recycle',0)->get();
//        select aid,title,cname from  article  join  category  on ...
        View::make();
    }

//    添加文章页
    public function addarticle(){
        if(IS_POST){
            if($this->model->store()){
                View::success('添加成功','index');
            }else{
                View::error($this->model->getError());
            }

        }
//        处理所属分类
        $cateModel=new \Common\Model\Cate();
        $cateData=Data::tree($cateModel->get(),'cname');
        View::with('cateData',$cateData);
//        处理所属标签
        $tagModel=new \Common\Model\Tag();
        $tagData=$tagModel->get();
        View::with('tagData',$tagData);
        View::make();
    }

//    删除文章
    public function del(){
        $aid=Q('get.aid',0,'intval');
        $this->model->where("aid={$aid}")->update(['is_recycle'=>1]);
        View::success('删除成功');
    }

//    文章回收站
    public function recycle(){
//        1使用分页
        $page=Page::row(3)->make(Db::table('article')->where("is_recycle=1")->count());
//        分配分页数据
        View::with('page',$page);
        $artData=Db::table('article a')->join('category c','a.category_cid','=','c.cid')->where('is_recycle',1)
            ->orderBy('sendtime','DESC')->field('aid,title,cname,sendtime,author')-> limit(Page::limit())->get();
        View::with('artData',$artData);
        if(!$artData){
            View::error('回收站内没有文章','index');
        }
        View::make();
    }

//    删除回收站内的文章
    public function delre(){
        $aid=Q('get.aid',0,'intval');
        $artTagModel=new \Common\Model\Arctag();
        $artTagModel->where("article_aid={$aid}")->delete();
        $artDataModel=new \Common\Model\Arcdata();
        $artDataModel->where("article_aid={$aid}")->delete();
//        Db::table('article_tag at')->join('article_data ad','at.article_aid','=','ad.article_aid')
//        ->where("at.article_aid={$aid}")->delete();
//        删除图片
        $oldImg=$this->model->where("aid={$aid}")->lists('thumb');
//        p($oldImg[0]);exit;
        if($oldImg[0]){
            unlink($oldImg[0]);
//                还要删除原图
            $path=str_replace('_thumb','',$oldImg[0]);
            unlink($path);
        }
        $this->model->where("aid={$aid}")->delete();
        View::success('删除成功');
    }

//    还原回收站内的文章
    public function restore(){
        $aid=Q('get.aid',0,'intval');
        $this->model->where("aid={$aid}")->update(['is_recycle'=>0]);
        View::success('还原成功');
    }

//    文章编辑
    public function editarc(){
        if(IS_POST){
            if(!$this->model->edit()) View::error($this->model->getError());
            View::success("修改成功",'index');
        }

//        获得旧数据
        $aid=Q('get.aid',0,'intval');
//        first  取一条数据
//        $artData=Db::table('article a')
//            ->join('category c','a.category_cid','=','c.cid')
//            ->where("aid={$aid}")
//            ->first();
//        p($artData);
        $artData = Db::table('article')
            ->join('article_data','aid','=','article_aid')
            ->where("aid={$aid}")
            ->first();
        View::with('artData',$artData);
        //        处理所属分类
        $cateModel=new \Common\Model\Cate();
        $cateData=Data::tree($cateModel->get(),'cname');
        View::with('cateData',$cateData);
//        处理所属标签
        $tagModel=new \Common\Model\Tag();
        $tagData=$tagModel->get();
        View::with('tagData',$tagData);
//        当前用户所选择的标签
        $arcTagModel=new \Common\Model\Arctag();
        $tids=$arcTagModel->where("article_aid={$aid}")->lists('tag_tid');
//        如果用户没选择标签  就默认是空数组   要不  页面上in_array()时  会出错
        $tids=$tids? $tids:array();
        View::with('tids',$tids);
        View::make();


    }



}